MockLanguageModel

class MockLanguageModel(val modelId: String = "mock/test", val provider: String = "mock", responses: List<ScriptedResponse>) : LanguageModel

Test stub for a LanguageModel. Drives the agent loop deterministically by replaying a list of ScriptedResponses — one per stream call.

Lets tests verify the loop, the tool dispatch, the lifecycle hooks, the stop conditions, and the message-parts conversion without spinning up a real model.

Constructors

Link copied to clipboard
constructor(modelId: String = "mock/test", provider: String = "mock", responses: List<ScriptedResponse>)

Properties

Link copied to clipboard
open override val modelId: String

Stable identifier for telemetry / routing ("litertlm/gemma-3-1b", "openai/gpt-5").

Link copied to clipboard
open override val provider: String

Provider tag for the model — "openai", "anthropic", "litert-lm", etc. Mirrors v6's LanguageModelV3.provider (per historical parity gap #40). Lets routing layers (a fallback chain, a tier picker) make provider-aware decisions without parsing modelId.

Link copied to clipboard

Map of URL regex → media-tag list describing which URL shapes the provider accepts inline (so the agent doesn't have to download + base64-encode them itself). Mirrors v6's LanguageModelV3.supportedUrls. Empty default — most on-device providers don't accept URLs and fall back to base64.

Functions

Link copied to clipboard
open suspend override fun generate(params: LanguageModelCallParams): LanguageModelResult

One-shot completion.

Link copied to clipboard
open override fun stream(params: LanguageModelCallParams): Flow<StreamEvent>

Streaming completion. Cold until collected, then drives one upstream call per collection.

Link copied to clipboard

Streaming completion plus metadata available before stream collection. Implementations must keep the returned stream cold, and must not flowOn/emit from a foreign context — the collection context is the caller's choice. Providers can override this to expose request bodies and response headers while preserving the v6 doStream result shape.